<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>XMPP-Transport</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/XMPP-Transport"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-XMPP-Transport rootpage-XMPP-Transport skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">XMPP-Transport</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><p>Ein <b>XMPP-Transport</b> (auch <b>XMPP-Agent</b> oder <b>XMPP-<a href="Gateway_(Informatik)" title="Gateway (Informatik)">Gateway</a></b>) ist ein <a href="Online-Dienst" class="mw-redirect" title="Online-Dienst">Dienst</a> innerhalb eines <a href="Extensible_Messaging_and_Presence_Protocol" title="Extensible Messaging and Presence Protocol">XMPP</a>-Netzwerkes, der Nutzer anderer <a href="Instant_Messaging" title="Instant Messaging">Instant-Messaging</a>-Systeme transparent als XMPP-Nutzer repräsentiert.
</p><p>Hiermit ist es möglich, andere Netzwerke (oft als <i><a href="Legacy-System" class="mw-redirect" title="Legacy-System">Legacy Services</a></i> bezeichnet) wie <a href="AOL_Instant_Messenger" title="AOL Instant Messenger">AIM</a>, <a href="ICQ" title="ICQ">ICQ</a>, <a href="Y!M" class="mw-redirect" title="Y!M">Y!M</a>, <a href="Gadu-Gadu" title="Gadu-Gadu">Gadu-Gadu</a> oder <a href="Internet_Relay_Chat" title="Internet Relay Chat">IRC</a> zu verwenden und mit deren Benutzern zu interagieren. Auch zu <a href="MSN_Messenger" class="mw-redirect" title="MSN Messenger">MSN</a> gab es Transports, welche durch die Abschaltung von MSN jedoch obsolet wurden. Die Server „<a href="Schematransformation_und_-integration" title="Schematransformation und -integration">übersetzen</a>“ dabei die Nachrichten zwischen den Netzwerken, ohne dass die beiden beteiligten Benutzer hierfür besondere Vorkehrungen treffen müssen.
</p>
<div class="mw-heading mw-heading2"><h2 id="Funktionsweise">Funktionsweise</h2></div>
<p>Folgendes Beispiel soll den Ablauf zwischen <i>Alice</i>, die einen XMPP-Client benutzt und <i>Bob</i>, der bei ICQ registriert ist, veranschaulichen:
</p>
<ul><li><i>Alice</i> übergibt dem Transport zunächst ihre ICQ-Anmeldedaten (ICQ-Nummer und Passwort).</li>
<li>Daraufhin loggt sich der Transport im Auftrag von <i>Alice</i> bei ICQ ein und verhält sich dem ICQ-Netzwerk gegenüber wie ein normaler ICQ-Client. Einerseits überträgt der Transport nun alle Nachrichten von <i>Bob</i> (im ICQ-Netzwerk) an den XMPP-Client von <i>Alice</i>. Andererseits leitet er alle Nachrichten von <i>Alice</i> an <i>Bob</i> weiter.</li>
<li><i>Bob</i> bekommt von diesem Ablauf nichts mit. Ihm erscheint es so, als ob er direkt mit <i>Alice</i> kommunizieren würde.</li>
<li>In der Kontaktliste (bei XMPP „Roster“ genannt) von <i>Alice</i> wird <i>Bob</i> als „normaler“ XMPP-User dargestellt, obwohl er nicht mit dem XMPP-, sondern mit dem ICQ-Netzwerk verbunden ist.</li></ul>
<p>Jeder Benutzer von XMPP kann sich bei Transports registrieren, indem er seine vorhandenen Login-Informationen an diesen Dienst übergibt. Dazu müssen Clients <i>Service Discovery</i><sup id="cite_ref-JEP-0030_1-0" class="reference"><a href="#cite_note-JEP-0030-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> (kurz <i>disco</i>, zu deutsch <i>„Dienste durchsuchen“</i>) unterstützen. So ist es möglich, Server nach angebotenen Transports zu durchsuchen und ohne zusätzliche Installation von Plugins, Kommunikation mit Nutzern proprietärer <a href="Instant_Messaging" title="Instant Messaging">Instant-Messaging</a>-Netzwerke zu betreiben.
</p><p>Obwohl das XMPP-Protokoll bezüglich der Umsetzung von Funktionen von Fremdnetzen keine Einschränkungen vorgibt, unterstützen die aktuellen Transports nur Basisfunktionen (Senden und Empfangen von Nachrichten, Sichtbarkeiten). Sofern Datentransfers und Chaträume unterstützt werden, ist die Nutzung zumeist nur eingeschränkt möglich.
</p><p>Der Transport selbst wird auch durch einen <a href="Jabber_Identifier" title="Jabber Identifier">Jabber Identifier</a> repräsentiert. So kann man z. B. die Sichtbarkeit oder Abwesenheitsnachricht für das jeweilige Netz gesondert setzen, oder „für den Transport offline sein“, was ein Ausloggen aus dem jeweiligen Dienst bewirkt.
</p>
<div class="mw-heading mw-heading3"><h3 id="Vorteile">Vorteile</h3></div>
<p>Der Vorteil dieses Konzepts ist, dass ein großer Teil der Komplexität von den Clients auf die Transports abgewälzt wird. Das erlaubt die Herstellung von <a href="Liste_von_XMPP-Clients" title="Liste von XMPP-Clients">reinen XMPP-Clients</a>, die ohne Transports eine zu kleine Akzeptanz hätten.
</p><p>Reine XMPP-Clients sind erheblich einfacher zu programmieren und zu warten, zumal das XMPP-Protokoll wegen der öffentlichen und stabilen Spezifikation gut implementiert werden kann. Davon profitiert letztlich der Endanwender, weil dadurch die Vielfalt der Clients steigt.
</p><p>Außerdem müssen Updates im Umgang mit den Fremd-Protokollen nicht durch neue Client-Versionen verteilt werden. Stattdessen wird nur die Server-Software aktualisiert, und alle Clients profitieren unmittelbar von den Änderungen.
</p><p>Ein weiterer Vorteil ist die größere Homogenität in der Benutzerführung, die reine XMPP-Clients bieten. Die ist zwar nicht zwingend auf reine XMPP-Clients beschränkt, de facto führen die speziellen Eigenschaften der Fremdprotokolle zu komplexeren Konfigurationsfenstern von Multi-Protokoll-Clients.
</p>
<div class="mw-heading mw-heading3"><h3 id="Nachteile">Nachteile</h3></div>
<p>Die Transporte werden von vielen Nutzern aufgrund unbefriedigender Verlässlichkeit und Stabilität sowie der hohen serverseitigen Last nur als Notlösung betrachtet. Sie sehen den Sinn der Nutzung vor allem darin, während der Übergangszeit die bisherigen Kontakte, die noch proprietäre Netzwerke nutzen, in XMPP verfügbar zu haben. Dennoch wird von vielen Nutzern auch der Dauereinsatz als gerechtfertigt angesehen, zumal nicht alle Kontakte Interesse an einer Migration zu XMPP haben.
</p>
<div class="mw-heading mw-heading2"><h2 id="Bekannte_Software_für_XMPP-Transports"><span id="Bekannte_Software_f.C3.BCr_XMPP-Transports"></span>Bekannte Software für XMPP-Transports</h2></div>
<p>Funktionalitätsreiche, in <a href="Python_(Programmiersprache)" title="Python (Programmiersprache)">Python</a> entwickelte Transports sind:
</p>
<ul><li><a rel="nofollow" class="external text" href="https://code.google.com/archive/p/pyaimt/">Projektübersicht zu PyAIMt</a> bei <a href="Google_Code" class="mw-redirect" title="Google Code">Google Code</a></li>
<li><a rel="nofollow" class="external text" href="https://code.google.com/archive/p/pyicqt/">Projektübersicht zu PyICQt</a> bei <a href="Google_Code" class="mw-redirect" title="Google Code">Google Code</a></li>
<li><a rel="nofollow" class="external text" href="https://xmpppy.sourceforge.net/irc/">PyIRCt</a></li>
<li>PyMSNt</li>
<li><a rel="nofollow" class="external text" href="https://xmpppy.sourceforge.net/yahoo/">PyYIMt</a></li>
<li><a rel="nofollow" class="external text" href="https://spectrum.im/">Spectrum</a> Transportsuite die mehrere Transports beinhaltet</li></ul>
<p>Andere, frühe Implementierungen die teilweise noch in den Paketlisten einiger Distributoren enthalten sind nutzten einen <a href="Abspaltung_(Softwareentwicklung)" title="Abspaltung (Softwareentwicklung)">Fork</a> des <code>jabberd</code>.
</p><p>Kommerzielle Anbieter bieten auch Gateways vom XMPP- ins <a href="Global_System_for_Mobile_Communications" title="Global System for Mobile Communications">GSM</a>-Netz für den transparenten <a href="Short_Message_Service" title="Short Message Service">SMS</a>-Versand an.
</p>
<ul><li>biboumi – XMPP ↔ IRC Gateway</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Dokumente">Dokumente</h2></div>
<ul><li><div class="sisterproject" style="margin:0.1em 0 0 0;"><div class="noviewer" style="display:inline-block; line-height:10px; min-width:1.6em; text-align:center;" aria-hidden="true" role="presentation"><span class="mw-default-size" typeof="mw:File"><span title="Wikibooks"></span></span></div><b><a href="https://de.wikibooks.org/wiki/XMPP-Kompendium:_Zusatzdienste#Fremde_Netzwerke_einbinden" class="extiw external" title="b:XMPP-Kompendium: Zusatzdienste">Wikibooks: XMPP-Kompendium: Fremde Netzwerke einbinden</a></b> – Lern- und Lehrmaterialien</div></li>
<li><a rel="nofollow" class="external text" href="https://xmpp.org/extensions/xep-0100.html">XEP 0100</a>: <i>Gateway Interaction</i></li>
<li><a rel="nofollow" class="external text" href="https://xmpp.org/extensions/xep-0030.html">XEP 0030</a>: <i>Service Discovery</i></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2></div>
<ol class="references">
<li id="cite_note-JEP-0030-1"><span class="mw-cite-backlink"><a href="#cite_ref-JEP-0030_1-0">↑</a></span> <span class="reference-text">XMPP Standards Foundation: <a rel="nofollow" class="external text" href="https://xmpp.org/extensions/xep-0030.html"><i>XEP-0030: Service Discovery</i></a> Version 2.2, 24. Januar 2006</span>
</li>
</ol></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2024-01-05" href="https://de.wikipedia.org/wiki/?title=XMPP-Transport&oldid=240877269">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>